number
型は、 TypeScript で数値だと表現する為の型です。他の言語のように小数点のものは別名だったりはしません。 TypeScript ではすべての数値がnumber
になります。
number
を指定すると、代入を数値だけに絞れます。
const num: number = 123;
// Type '"123"' is not assignable to type 'number'.
const strNum: number = '123';
TypeScript は賢いので以下のように指定せずに代入しても、そこから推論してnumber
型としてくれます。
const num = 123;
// ok
num = 456
数値に絞り込む
ある Union 型などで「この値はnumber
か?」を調べるにはtypeof value === 'number'
が使えます。
const a: string | number = 123;
if (typeof a === 'number') {
a; // a: number
}